Method and device for analyzing positions

ABSTRACT

The method and device for analyzing position are disclosed. By analyzing sensing information with at least one zero-crossing, each position can be analyzed. The number of analyzed positions may be different from the number of zero-crossings. When the number of analyzed positions is different from the number of zero-crossing, the number of analyzed positions is more than one.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.61/298,252, filed on Jan. 26, 2010, Provisional Application No.61/298,243, filed on Jan. 26, 2010 and U.S. Provisional Application No.61/250,051, filed on Oct. 9, 2009, which is herein incorporated byreference for all intents and purposes.

CROSS-REFERENCE TO COMPUTER PROGRAM LISTING APPENDDC

Appendix A contains the following file in one CD-ROM in IBM-PC formatand compatible with Microsoft Windows (of which two identical copies areattached hereto). Appendix A is a part of the present disclosure and isincorporated by reference herein hi its entirety.

Directory of E:\

Oct. 8, 2010, 127,488 appendix.doc

1 File(s) 127,488 bytes

0 Dir(s) 0 bytes free

The files of Appendix A form source code of computer programs forimplementing an illustrative embodiment of the present invention.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the patent and trademarkoffice patent files or records, but otherwise reserves all copyrightrights whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method and device for analyzingpositions, and more particularly, to a method and device for analyzingpositions according to sensing information with zero-crossings.

2. Description of the Prior Art

Touch displays have been widely used in the various electronic devices.One approach is to employ a touch sensitive panel to define a 2-D toucharea on the touch display, where sensing information is obtained byscanning along horizontal and vertical axes of the touch panel fordetermining the touch or proximity of an external object (e.g. a finger)on or near the touch panel. U.S. Pat. No. 4,639,720 discloses acapacitive touch display.

Sensing information can be converted into a plurality of continuoussignal values by an analog-to-digital converter (ADC). By comparingsignal values before and after the touch or approaching of the externalobject, the location touched or approached by the external object can bedetermined.

Generally, a controller controlling the touch panel will first obtainsensing information when there is no external object touching orapproaching as a baseline. For example, in a capacitive touch panel,each conductive line corresponds to a respective baseline. Thecontroller determines whether there is an external object touching orapproaching by comparing sensing information obtained subsequently withthe baseline, and further determines the position of the externalobject. For example, when there is no external object touching orapproaching the touch panel, subsequent sensing information with respectto the baseline will be or close to zero. Thus, the controller candetermine whether there is an external object touching or approaching bydetermining whether the sensing information with respect to the baselineis or close to zero.

As shown in FIG. 1A, when an external object 12 (e.g. a finger) touchesor approaches a sensing device 120 of a touch display 10, sensinginformation of sensors 140 on an axis (e.g. x axis) is converted intosignal values as shown in FIG. 1B. Corresponding to the appearance ofthe finger, the signal values show a waveform or finger profile. Thelocation of the peak 14 of the finger profile indicates the positiontouched or approached by the finger.

However, when multiple touches are close, signal values corresponding tothese touches tend to concentrate together, especially if the paths oftwo touches cross each other. In many situations, a single thresholdcannot determine whether it is a single or multiple touches, and thus itis difficult to make correct position judgments.

From the above it is clear that prior art still has shortcomings. Inorder to solve these problems, efforts have long been made in vain,while ordinary products and methods offering no appropriate structuresand methods. Thus, there is a need in the industry for a novel techniquethat solves these problems.

SUMMARY OF THE INVENTION

The present invention provides a method and device for analyzingpositions. By analyzing sensing information with at least onezero-crossing, at least a position can be analyzed. The number ofanalyzed positions may be different from the number of zero-crossings.When the number of analyzed positions is different from the number ofzero-crossing, the number of analyzed positions is more than one.

As mentioned before, when multiple touches are close together, signalvalues corresponding to these touches tend to concentrate together,especially if the paths of two touches cross each other. In manysituations, a single threshold cannot determine whether it is a singleor multiple touches, and thus it is difficult to make correct positionjudgments.

The present invention includes the following objectives:

1. determining each touch position in a touch related sensinginformation with zero-crossings;

2. determining each position when the number of touches equals thenumber of zero-crossings;

3. determining each position when the number of touches does not equalthe number of zero-crossings;

4. determining zero-crossings at odd-number positions in a touch relatedsensing information; and

5. determining zero-crossings based on positive and negative thresholds.

The objectives of the present invention can be achieved by the followingtechnical schemes. A method for analyzing positions proposed by thepresent invention may include: obtaining a sensing information includingat least one zero-crossing, wherein each zero-crossing is between apositive and a negative value; and analyzing from the sensinginformation at least one position that is different in number to the atleast one zero-crossing. In addition, a device for analyzing positionsproposed by the present invention may include a controller or a host forperforming at least the following operations: obtaining a sensinginformation including at least one zero-crossing, wherein eachzero-crossing is between a positive and a negative value; and analyzingfrom the sensing information at least one position that is different innumber to the at least one zero-crossing.

The objectives of the present invention can also be achieved by thefollowing technical schemes. A method for analyzing positions proposedby the present invention may include: obtaining a sensing information;determining at least a first initial position in the sensing informationbased on a first threshold; performing a zero-crossing position analysisstarting from each first initial position in a first range in a firstdirection to determine the position of a zero-crossing, wherein eachzero-crossing is between a positive and a negative value. In addition, adevice for analyzing positions may include a controller or a host forperforming at least the following operations: obtaining a sensinginformation; determining at least a first initial position in thesensing information based on a first threshold; performing azero-crossing position analysis starting from each first initialposition in a first range in a first direction to determine the positionof a zero-crossing, wherein each zero-crossing is between a positive anda negative value.

The objectives of the present invention can also be achieved by thefollowing technical schemes. A method for detecting finger touches in asensing device proposed by the present invention may include: obtaininga sensing information; determining whether there is one or more positivevalues greater than a positive threshold; determining whether there isone or more negative values smaller than a negative threshold; anddetermining zero-crossings between the one or more positive valuesgreater than the positive threshold and the one or more negative valuessmaller than the negative threshold when there are one or more positivevalues greater than the positive threshold and one or more negativevalues smaller than the negative threshold. In addition, a device fordetecting finger touches in a sensing device proposed by the presentinvention may include a controller or a host for performing at least thefollowing operations: obtaining a sensing information; determiningwhether there is one or more positive values greater than a positivethreshold; determining whether there is one or more negative valuessmaller than a negative threshold; and determining zero-crossingsbetween the one or more positive values greater than the positivethreshold and the one or more negative values smaller than the negativethreshold when there are one or more positive values greater than thepositive threshold and one or more negative values smaller than thenegative threshold.

By aforementioned technical schemes, the present invention achieves atleast the following advantages and benefits:

1. a touched position can still be determined when the number ofzero-crossings presented in the sensing information is less than actualnumber of touches;

2. a touched position can still be determined when the number ofzero-crossings presented in the sensing information is more than actualnumber of touches; and

3. analyzing positions using the properties of the differential sensinginformation is more accurate than determining signal peak values.

The above description is only an outline of the technical schemes of thepresent invention. Preferred embodiments of the present invention areprovided below in conjunction with the attached drawings to enable onewith ordinary skill in the art to better understand said and otherobjectives, features and advantages of the present invention and to makethe present invention accordingly.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention can be more fully understood by reading thefollowing detailed description of the preferred embodiments, withreference made to the accompanying drawings, wherein:

FIG. 1A is a schematic diagram depicting a prior-art touch sensitivedevice;

FIG. 1B is a schematic diagram illustrating prior-art signal values;

FIG. 1C is a schematic diagram illustrating differences according to thepresent invention;

FIGS. 1D and 1E are schematic diagrams illustrating dual differencesaccording to the present invention;

FIG. 1F is a schematic diagram illustrating a sensing device accordingto the present invention;

FIG. 1G is a block diagram illustrating functions of a computing systemaccording to the present invention;

FIGS. 2A and 2B are schematic diagrams illustrating a driving/detectingunit and a sensing device according to the present invention;

FIG. 3A is a block diagram illustrating functions of a detecting unitaccording to the present invention;

FIGS. 3B to 3D are circuit diagrams illustrating detectors according tothe present invention;

FIGS. 3E to 3J are diagrams showing connections between a detectingcircuit and an ADC circuit according to the present invention;

FIG. 4A is a diagram illustrating position detection using binarydifferences according to the present invention;

FIGS. 4B to 4D are diagrams illustrating examples for detecting centroidpositions according to the present invention;

FIGS. 5A and 5B are exemplary schematic diagrams illustratingdetermining of zero-crossings according to the present invention;

FIGS. 5C to 5F are exemplary schematic diagrams illustrating determiningof multiple zero-crossings according to the present invention;

FIGS. 6A and 6B are exemplary schematic diagrams illustratingdetermining whether there is a single or multiple touches or approachesaccording to the present invention;

FIG. 7 is a flowchart illustrating a first embodiment of the presentinvention;

FIG. 8 is a flowchart illustrating a second embodiment of the presentinvention; and

FIG. 9 is a flowchart illustrating a third embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Some embodiments of the present invention are described in detailsbelow. However, in addition to the descriptions given below, the presentinvention can be applicable to other embodiments, and the scope of thepresent invention is not limited by such, rather by the scope of theclaims. Moreover, for better understanding and clarity of thedescription, some components in the drawings may not necessary be drawnto scale, in which some may be exaggerated relative to others, andirrelevant parts are omitted.

Sensing Information

In the present invention, sensing information can be provided by a touchsensitive device for representing 1-D, 2-D or multi-dimensional statuseson the touch sensitive device. The sensing information can be obtainedby one or more sensors and converted into a plurality of continuoussignal values by one or more Analog-to-Digital converters to representamong or change in amount of detected charges, current, voltage,capacitance, impedance or other electrical characteristics. Sensinginformation can be obtained or transmitted alternately, sequentially orin parallel, and can be compounded into one or more signals. These areobvious to those having ordinary skill in the art.

One having ordinary skill in the art may also recognize that sensinginformation described in the present invention includes, but not limitedto, a signal of a sensor, a result of the signal of the sensorssubtracted by a baseline (e.g. a signal when untouched or initialsignals), a digitally converted value of said signal or said result ofsignal subtracted by baseline or said value converted in any other ways.In other words, sensing information can be in the form of a signalstatus, a status that is converted from any electrical signal or can beconverted into electrical signal recorded in a storage medium (e.g. aregister, a memory, a magnetic disk, an optical disk), including but notlimited to analog or digital information.

Sensing information can be provided by two 1-D sensing information ondifferent axes. The two 1-D sensing information can be used to representthe sensing information on a first axis (e.g. vertical axis) and asecond axis (e.g. horizontal axis) on the touch sensitive device. Theyare used for position detection on the first and second axes,respectively, i.e. providing 1-D positions on the first and second axesor further constructing a 2-D position. In addition, the two 1-D sensinginformation can also be used for triangulation based on the distancesbetween sensors to detect a 2-D position on the touch sensitive device.

Sensing information can be 2-D sensing information that consists of aplurality of 1-D sensing information on the same axis. The 2-D sensinginformation can represent signal distribution on a 2-D plane. Forexample, a plurality of 1-D sensing information on the vertical axis anda plurality of 1-D sensing information on the horizontal axis canrepresent a signal matrix, such that position detection can be achievedby watershed algorithm or other image processing methods.

In an example of the present invention, the sensing area on the touchsensitive device includes an overlapping range of a first 2-D detectingrange detected by at least one first sensor and a second 2-D detectingrange detected by at least one second sensor. One with ordinary skill inthe art may also recognize that the sensing area can be an overlappingrange of three or more 2-D detecting ranges.

For example, the detecting range of a single sensor can be a 2-Ddetecting range. A sensor (e.g. CCD or CMOS sensor) with camera-basedoptical detection or a piezoelectric sensor with surface acoustic wavedetection obtains 1-D sensing information in the 2-D detecting range.The 1-D sensing information can be comprised of information sensed at aplurality of continuous time points, which correspond to differentangles, positions or ranges. In addition, the 1-D sensing informationcan be generated according to images obtained (e.g. by CCD-CMOS sensor)within a time interval.

Furthermore, for example, the 2-D sensing range can consist of detectingranges of a plurality of sensors. For example, the detecting range ofeach infrared photoreceptor, capacitive or resistive conductive bar orstrip, or inductive U-shape coil is a fan or stripe shaped detectingrange towards one axis. The detecting ranges of a plurality of sensorsarranged on the same axis on a line segment (straight or curved) canform a 2-D detecting range of that axis, which can be a square orfan-shaped planar or arc detecting range, for example.

In a preferred example of the present invention, the sensing area on thetouch sensitive device includes a 2-D range detected by a plurality ofsensors on the first and second axes. For example, throughself-capacitive detection, a driving signal is provided to a pluralityof first sensors, and capacitive-coupling signals or changes in saidsignal in a 2-D detecting range of these first sensors are sensed toobtain first 1-D sensing information. Furthermore, a driving signal isprovided to a plurality of second sensors, and capacitive-couplingsignals or changes in said signal in a 2-D detecting range of thesesecond sensors are sensed to obtain second 1-D sensing information.

In another example of the present invention, the sensing area on thetouch sensitive device involves a plurality of sensors detecting aplurality of 1-D sensing information in a 2-D sensing range to construct2-D sensing information. For example, when a signal source sequentiallyapplies a driving signal to sensors on a first axis, signal(s) of atleast one of sensors in a second axis is sequentially detected or on aplurality of sensors (partially or all) are simultaneously detected toobtain 2-D sensing information on the axis, wherein the sensors areadjacent or not adjacent but neighboring sensors on the second axis. Forexample, in mutual-capacitive detection or analog matrix resistivedetection, a plurality of sensors constitute a plurality of sensingareas for detecting sensing information at each respective area. Forexample, a plurality of first sensors (e.g. a plurality of firstconductive lines) and a plurality of second sensors (e.g. a plurality ofsecond conductive lines) intersect with each other to from a pluralityof overlapping regions. When a driving signal is sequentially providedto each of the first sensors, corresponding to the first sensor beingdriven by the driving signal, signal(s) or changes in signal(s) on atleast one of the second sensors on the second axis is sequentiallydetected or on a plurality of the second sensors (partially or all) onthe second axis are simultaneously detected to obtain 1-D sensinginformation corresponding to that first sensor. By collecting 1-Dsensing information corresponding to each of the first sensors together,2-D sensing information can be constructed. In an example of the presentinvention, 2-D sensing information can be regarded as an image.

One with ordinary skill in the art can appreciate that the presentinvention can be applied to touch sensitive display, for example, adisplay attached with aforementioned resistive, capacitive, surfaceacoustic wave, or other touch detection device (or referred to as touchsensitive device). Thus, sensing information obtained by the touchsensitive display or device can be regarded as touch sensitiveinformation.

In an example of the present invention, a touch sensitive device may usecontinuous signals from different time points, that is, composite signalcontinuously detected by one sensor or simultaneously by a plurality ofsensors. For example, the touch sensitive device may be inductive andcontinuously scan coils thereon to emit electromagnetic waves.Meanwhile, sensing information is detected by one or more sensors on anelectromagnetic pen and continuously compounded to form a signal. Thissignal is then converted into a plurality of continuous signal values byan ADC. Alternatively, electromagnetic waves are emitted by anelectromagnetic pen or electromagnetic waves from an inductive touchsensitive device are reflected, and sensing information is obtained by aplurality of sensors (coils) on the touch sensitive device.

Touch Related Sensing Information

When an external object (e.g. a finger) touches or approaches a touchsensitive device, electrical characteristic or changes will be generatedby sensing information at an area corresponding to the touch orproximity of the object. The larger the electrical characteristic orchanges, the closer it is to the center (e.g. centroid, center ofgravity of center of geometry) of the external object. Continuoussensing information can be regarded as constituted by a plurality ofcontinuous values whether it is digital or analog. The center of theexternal object may correspond between one or two values. In the presentinvention, a plurality of continuous values can be spatially ortemporally continuous.

A first type of 1-D sensing information provided by the presentinvention is in the form of a plurality of continuous signal values,which can be signal values detected by a plurality of sensors in a timeinterval, by a single sensor in a continuous time interval or by asingle sensor in a single time interval at different detectinglocations. In the process of representing sensing information as signalvalues, signals from respective sensors, time intervals or locations aresequentially converted into signal values, or part or all of sensinginformation is obtained, thereafter, respective signal values are thenanalyzed. When an external object touches or draws near to a sensingdevice, continuous signal values of 1-D sensing information can be thoseas shown in FIG. 1B. Position touched by the external object correspondsto the peak 14 of the sensing information, wherein peak 14 may residebetween two signal values. As described earlier, the present inventiondoes not limit the form of sensing information. Signal values can beanother form of the signals of the sensors. For brevity of thedescription, the present invention below is described in the context ofimplementations of the signal values. One with ordinary skill in the artmay appreciate the implementations of signals from the implementationsof signal values.

A second type of 1-D sensing information provided by the presentinvention is in the form of a plurality of continuous differences,compared to the signal values above, each difference is the differenceof a pair of signal values, and the sensing information represented by aplurality of differences can be regarded as differential sensinginformation. In the present invention, differential sensing informationcan be obtained directly during sensing, for example, simultaneously orcontinuously obtaining a plurality of signals, each difference beinggenerated based on a differential signal corresponding to a pair ofsensor, time intervals, or locations. The differential sensinginformation can be generated based on the original sensing informationincluding a plurality of signal values generated previously. Asdescribed earlier, the present invention does not limit the form ofsensing information. Differences can be another form of the differentialsignals. For brevity of the description, the present invention below isdescribed in the context of implementations of the differences. One withordinary skill in the art may appreciate the implementations ofdifferential signals from the implementations of differences.

In an example of the present invention, a difference can be thedifference between a pair of adjacent or not adjacent signal values, forexample, the difference between a signal value and its immediatelypreceding signal value, or between a signal value and its followingsignal value. In another example of the present invention, thedifference can be the difference between non-adjacent signal values.When an external object touches or draws close to the touch sensitivedevice, continuous differences of 1-D sensing information can be thoseshown in FIG. 1C, wherein the position of the external objectcorresponds to zero-crossing 15 of the sensing information.Zero-crossing 15 may reside between two signal values. In an example ofthe present invention, on the touch sensitive device, the location ofeach difference is the middle of the two corresponding signal values.

A third type of 1-D sensing information provided by the presentinvention is in the form of a plurality of continuous dual differences,compared to the signal values and differences above, each dualdifference can be the sum or difference of the difference for a firstpair of signal values and the difference for a second pair of signalvalues, that is, the sum or difference of the differences of two pairsof signal values. For example, two pairs of signal values include afirst signal value, a second signal value, a third signal value, and afourth signal value. The dual difference for these four signals is(second signal value−first signal value)+(third signal value−fourthsignal value), (second signal value−first signal value)−(fourth signalvalue−third signal value), (first signal value−second signalvalue)+(fourth signal value−third signal value) or (first signalvalue−second signal value)−(third signal value−fourth signal value). Inaddition, sensing information represented by continuous dual differencescan be regarded as dual-differential sensing information. In the presentinvention, a dual difference is not limited to being provided aftersignal values or differences, but can also be provided through the sumor difference after subtraction of two pairs of signals upon sensinginformation being provided, providing dual differential signal similaror equivalent to the sum or difference of the differences between twopair of signal values. As described earlier, the present invention doesnot limit the form of sensing information. Dual differences can beanother form of the dual differential signals. For brevity of thedescription, the present invention below is described in the context ofimplementations of the dual differences. One with ordinary skill in theart may appreciate the implementations of dual differential signals fromthe implementations of dual differences.

In an example of the present invention, when the external object touchesor approaches the touch sensitive device, two pairs of signal values areconstituted by three adjacent or non-adjacent signal values. In anexample of the present invention, the differences between the prior twosignal values and the latter two signal values are a first differenceand a second difference, respectively, and the dual difference is thedifference between the first difference and the second difference,wherein the first difference and the second difference both can be theresults of the preceding signal value minus the following signal valueor the following signal value minus the preceding signal value. Inanother example of the present invention, the differences between thefirst two signal values and the last two signal values are a firstdifference and a second difference, respectively, and the dualdifference is the sum of the first difference and the second difference,wherein one of the first difference and the second difference is theresult of the preceding signal value minus the following signal value,whereas the other one of the first difference and the second differenceis the result of the following signal value minus the preceding signalvalue. For example, two pairs of signal values include a first signal, asecond signal, and a third signal. The dual difference for these threesignal values is (second signal value−first signal value)+(second signalvalue−third signal value), (second signal value−first signalvalue)−(third signal value−second signal value), (first signalvalue−second signal value)+(third signal value−second signal value), or(first signal value−second signal value)−(second signal value−thirdsignal value). When two pairs of signal values are constituted by threeadjacent signal values, and an external object touches or approaches thetouch sensitive device, the continuous dual differences of 1-D sensinginformation can be those shown in FIG. 1D, wherein the position of theexternal object corresponds to middle peak 16 of the sensinginformation. Middle peak 16 may reside between two signal values. Whentwo pairs of signal values are constituted by three non-adjacent signalvalues, and an external object touches or approaches the touch sensitivedevice, the continuous dual differences of 1-D sensing information canbe those shown in FIG. 1E, wherein the position of the external objectcorresponds to middle peak 17 of the sensing information. Middle peak 17may reside between two signal values.

In the present invention, sensing information corresponding torespective sensor, time interval or position can be signals detected bythe sensors. When the signals are analog, it can be converted intodigital signal values by an ADC. Thus, the above difference can also bethe value of the difference between a pair of signals, for example,value converted from a pair of signals subtracted via a differentialamplifier. Similarly, the above dual difference can also be the valueconverted from two pairs of signals subtracted via a differentialamplifier and then added (or subtracted) together. One with ordinaryskill in the art can appreciate that the difference and dual differencedescribed by the present invention not only include being generated bysignals or signal values, but also include temporary states of records(electrical, magnetic or optical records), signals or signal valuesduring hardware or software implementations.

In other words, sensing information can be signals, differential signals(e.g. difference between a pair of signals), dual differential signals(e.g. sum or difference of two pairs of signals) on or between thesensors, and signal values, differences, dual differences(analog-to-digital converted signal values, differences or dualdifferences) can be another form. Signals and signal values,differential signals and differences, and dual differential signals anddual differences are sensing information represented at differentstages. In addition, for brevity of the description, touch relatedsensing information mentioned herein broadly refers to sensinginformation corresponding to touch or proximity of an external object,such as original touch related sensing information, differential touchrelated sensing information and dual-differential touch related sensinginformation.

One with ordinary skill in the art can appreciate that in the case ofdifferences or dual differences, zero-crossing is between at least onepositive value and at least one negative value that is between a pair ofpositive and negative values. The difference or dual difference thatcorresponds to the touch or proximity of the external object may be analternating continuous combination of at least one positive value and atleast one negative value, wherein at least one zero value is interposedbetween the at least one positive value and at least one negative value.In most cases, the difference or dual difference that corresponds to thetouch or proximity of the external object is an alternating continuouscombination of multiple positive values and multiple negative values,wherein zero-crossings between positive and negative values may be atleast a zero value or between two values.

In contrast, touch related signal values include a plurality ofcontinuous non-zero values, or an independent non-zero value notadjacent to other non-zero values. In some cases, an independentnon-zero value not adjacent to other non-zero values may be generated bynoise, which should be identified and neglected by thresholding or othertypes of mechanisms.

Since noise could generate zero-crossing similar to the touch orproximity of an external object when large, thus in an example of thepresent invention, values that fall within a zero-value range will betreated as zero values. Difference or dual difference corresponding tothe touch or proximity of an external object is an alternatingcontinuous combination of multiple values above a positive threshold andmultiple values below a negative threshold, wherein a zero-crossingbetween a value above the positive threshold and a value below anegative threshold may be at least one zero value or between two values.

In summary of the above, differential touch related sensing informationand dual-differential touch related sensing information are alternatingcontinuous combinations of at least one positive value and at least onenegative value including a zero-crossing, wherein the zero-crossing canbe at least one zero value or between the positive and negative values.In other words, a plurality of continuous zero values between positiveand negative values in the differential touch related sensinginformation and dual-differential touch related sensing information aretreated as zero-crossings, or one of which is treated as azero-crossing.

In an example of the present invention, touch related sensinginformation is set to begin with at least a positive or negative value,and from there an alternating continuous combination of at least onepositive value and at least one negative value including a zero-crossingis searched, wherein the zero-crossing may be at least one zero value orbetween positive and negative values. In differential touch relatedsensing information, alternating combinations of at least one positivevalue and at least one negative value occur symmetrically, and indual-differential touch related sensing information, alternatingcombinations of at least one positive value and at least one negativevalue do not occur symmetrically. In an example of the presentinvention, touch related sensing information is continuous non-zerovalues, e.g. a plurality of continuous non-zero signal values.

The at least one positive value above can be regarded as apositive-value set including at least one positive value. Similarly, theat least one negative value above can be regarded as a negative-valueset including at least one negative value. Thus, the above alternatingcombination can be a combination of two sets: a positive-value set and anegative-value set, or a combination of three or more set withalternating positive-value and negative-value sets. In an example of thepresent invention, at least one zero value may exist between zero, one,or multiple positive-value and negative-value sets.

System Framework

In order to more clearly illustrate how sensing information of thepresent invention is generated, the present invention uses a capacitivetouch sensitive device as an example, and one with ordinary skill in theart can readily recognize other applications such as in resistive,infrared, surface acoustic wave, or optical touch sensitive devices.

Referring to FIG. 1F, the present invention provides a positiondetecting device 100. As shown, the device includes a sensing device 120and a driving/detecting unit 130. Sensing device 120 has a sensinglayer. In an example of the present invention, the sensing layer caninclude a first sensing layer 120A and a second sensing layer 120B.First and second sensing layers 120A and 120B each has a plurality ofsensors 140, wherein first sensors 140A of first sensing layer 120Across upon second sensors 140B of second sensing layer 120B. In anotherexample of the present invention, first and second sensors 140A and 140Bare disposed in a co-planar sensing layer. Driving/detecting unit 130produces sensing information based on signals of sensors 140. In thecase of self-capacitive detection, for example, sensors 140 driven aresensed. In the case of mutual-capacitive detection, some of sensors 140not directly driven by driving/detecting unit 130 are sensed. Inaddition, sensing device 120 can be disposed on a display 110. Anoptional shielding layer (not shown) can be interposed between sensingdevice 120 and display 110.

The position detecting device 100 of the present invention can beapplied to a computing system as shown in FIG. 1G, which includes acontroller 160 and a host 170. The controller includes driving/detectingunit 130 to operatively couple sensing device 120 (not shown). Inaddition, controller 160 can include a processor 161 for controllingdriving/detecting unit 130 in generating sensing information. Sensinginformation can be stored in a memory 162 and accessible by processor161. Moreover, host 170 constitutes the main body of the computingsystem, mainly includes a central processing unit 171, a storage unit173 that can be accessed by central processing unit 171, and display 110for displaying results of operations.

In another example of the present invention, there is a transmissioninterface between controller 160 and host 170. The controlling unittransmits data to the host via the transmission interface. One withordinary skill in the art can appreciate that the transmission interfacemay include, but not limited to, UART, USB, I²C, Bluetooth, Wi-Fiwireless or wired transmission interfaces. In an example of the presentinvention, data transmitted can be position (e.g. coordinates),identification results (e.g. gesture codes), command, sensinginformation or other information provided by controller 160.

In an example of the present invention, sensing information can beinitial sensing information generated under the control of processor161, and position analysis is carried out by host 170, such as positionanalysis, gesture identification, command identification etc. In anotherexample of the present invention, sensing information can be analyzed byprocessor 161 first before forwarding determined position, gesture orcommand etc. to host 170. The present invention does not limit to thisexample, and one with ordinary skill in the art can readily recognizeother interactions between controller 160 and host 170.

Referring to FIG. 2A, in an example of the present invention,driving/detecting unit 130 may include a driving unit 130A and adetecting unit 130B. The plurality of sensors 140 of sensing device 120are operatively coupled to driving/detecting unit 130 via a plurality ofwires. In the example of FIG. 2A, driving unit 130A and detecting unit130B are operatively coupled to sensors 140A via wires W1 and to sensors140B via wires W2.

For example, in self-capacitive detection, all sensors 140A aresequentially or simultaneously driven or some of sensors 140A are drivensimultaneously in batch by driving unit 130A via wires W1 in a firsttime period. Sensing information of a first axis (1-D sensinginformation) is generated via wires W1 by detecting unit 130 based onsignals of sensors 140A. Similarly, all sensors 140B are sequentially orsimultaneously driven or some of sensors 140A are driven simultaneouslyin batch by driving unit 130A via wires W2 in a second time period.Sensing information of a second axis (1-D sensing information) isgenerated via wires W2 by detecting unit 130 based on signals of sensors140B.

For example, in mutual-capacitive detection, sensors 140B are driven bydriving unit 130 via wires W2 in a first time period, and when eachsensor 140B is respectively driven, 1-D sensing informationcorresponding to a first axis of the driven sensors is generated bydetecting unit 130B based on signals of sensors 140A via wires W1. These1-D sensing information on the first axis construct 2-D sensinginformation (or an image) on the first axis. Similarly, sensors 140A aredriven by driving unit 130 via wires W1 in a second time period, andwhen each sensor 140A is respectively driven, 1-D sensing informationcorresponding to a second axis of the driven sensors is generated bydetecting unit 130B based on signals of sensors 140B via wires W2. These1-D sensing information on the second axis construct 2-D sensinginformation (or an image) on the second axis. In addition, driving unit130A and detecting unit 130B can be synchronized via lines 132 byproviding signals. The signals on lines 132 can be provided by saidprocessor 160.

Referring to FIG. 2B, sensor device 120 can also generate 2-D sensinginformation on only a single axis. In this example, sensors 140B aredriven by wires W2, and when each sensor 140B is respectively driven,1-D sensing information of the driven sensor is generated by detectingunit 130B based on the signals of sensors 140A via wires W1. These 1-Dsensing information constitute 2-D sensing information (or an image).

In other words, position detecting device 100 of the present inventionis capable of producing 1-D sensing information in 2 axes or 2-D sensinginformation in 2 axes, producing both 1-D and 2-D sensing information in2 axes, or producing 2-D sensing information in a single axis. Thepresent invention may include but not limited to said capacitiveposition detecting device, one with ordinary skill in the art canappreciate other applications, such as in resistive, capacitive, surfaceacoustic wave, or other touch sensitive device.

Referring to FIG. 3A, detecting unit 130B is operatively coupled to thesensing device via wires (e.g. W1). The operative coupling can beachieved by a switching circuit 310, which can be one or more electricalelements such as multiplexers and/or switches. One with ordinary skillin the art can recognize other use of switching circuits. Signals ofsensors 140 can be detected by a detecting circuit 320. When signaloutput by detecting circuit 320 is analog, it is then passed through ADCcircuit 330 to generate sensing information SI. Sensing information SIcan be analog or digital. In a preferred example of the presentinvention, sensing information is digital, but the present invention isnot limited to the above example. One with ordinary skill in the art canappreciate that detecting circuit 320 and ADC circuit 330 can beintegrated in one or more circuits.

Detecting circuit 320 can be comprised of one or more detectors, eachreceiving a signal from at least one sensor 140 and generating anoutput. The detectors can be detectors 340, 350 and 360 shown in FIGS.3B to 3D.

In an example of the present invention, the detection of the signals ofsensors 140 can be achieved by an integrator. One with ordinary skill inthe art can appreciate other circuits that measure electricalcharacteristics (e.g. voltage, current, capacitance, induction etc.),such as an ADC, can be applied to the present invention. An integratorcan be implemented by an amplifier Cint, which includes an input (e.g.as shown by integrator 322 of FIG. 3B) or a pair of input (e.g. as shownby integrator 324 of FIGS. 3C and 3D) and an output. Output signal canbe used by ADC circuit 330 to generate values of sensing information SI,each of these values can be controlled by a reset signal, such as areset signal Sreset shown in FIGS. 3B to 3D.

In another example of the present invention, signals of sensors 140 areAC signals that vary with a pair of half cycles. Thus, the detection ofthe signals of sensors 140 also changes with different half cycles. Forexample, signals of sensors 140 are detected in the prior half cycle,and inverse signals of sensors 140 are detected in the latter halfcycle, or vice versa. Therefore, the detection of the signals of sensors140 can be controlled by a synchronizing signal Ssync, as shown in FIGS.3B to 3C. Synchronizing signal Ssync and the signals of sensors 140 arein sync or having the same cycle. For example, synchronizing signalSsync is used to control one or more switches (e.g. switching circuits321, 323, 325) to switch between base points P1 and P2, so as to detectthe signals of sensor 140 in the prior half cycle, and to detect theinverse signals of sensor 140 in the latter half cycle. In FIG. 3B, theinverse signals are provided by an inverter Cinv.

In yet another example of the present invention, the detection of thesignals of sensors 140 is performed in at least a predetermined timeinterval (or phase) in at least a cycle. Detection can be done in atleast an interval in the first half cycle and at least an interval inthe second half cycle; or in at least an interval in only the first orsecond half cycle. In a preferred example of the present invention, atleast a preferred time interval in a cycle is scanned as the detectioninterval, wherein noise interference in this detection interval issmaller than in other intervals. Scanning of the detection interval canbe determined by the detection of the signal of at least one sensor ineach interval in at least a cycle. Upon determining a detectioninterval, detection of the signals of sensors is performed only in thatdetection interval, and this can be controlled by a signal, such as anenable signal Senable in FIGS. 3B to 3D.

The present invention generates the values of sensing information SIbased on the signal of at least one sensor 140. In an example of thepresent invention, sensing information SI consists of a plurality ofsignal values. As shown in FIG. 3B, an input 311 is operatively coupledto a sensor 140 for detecting a signal and a signal value of sensinginformation SI is generated through ADC circuit 330. In another exampleof the present invention, sensing information SI consists of a pluralityof differences. As shown in FIG. 3C, a pair of inputs 312 and 313 areoperatively coupled to a sensor 140 for detecting a differential signaland a difference (or single difference) of sensing information SI isgenerated through ADC circuit 330. In yet another example of the presentinvention, sensing information SI consists of a plurality of dualdifferences. As shown in FIG. 3D, three inputs 314, 315 and 316 areoperatively coupled to a sensor 140 for detecting a dual differentialsignal and a dual difference of sensing information SI is generatedthrough ADC circuit 330. A dual differential signal is generated fromthe difference between a pair of differential signals; each differentialsignal is generated based on signals of a pair of sensors. In otherwords, a dual differential signal is generated based on signals of afirst pair of sensors and a second pair of sensors, wherein the firstpair of sensors are the first two sensors in the three sensors, and thesecond pair of sensors are the latter two sensors in the three sensors;these three sensors can be adjacent or not adjacent.

In a preferred example of the present invention, detecting circuit 320includes a plurality of detectors, which simultaneously generate all orsome values of sensing information SI. As shown in FIGS. 3E to 3J,detecting circuit 320 can comprise of a detector 340, 350 or 360. Theoutput of the detector is then converted into values of sensinginformation SI by ADC circuit 330.

ADC circuit 330 includes at least one ADC. Each ADC may output values ofsensing information SI based on an output of only one detector, as shownin FIGS. 3E, 3G and 3I. Alternatively, an ADC may output values ofsensing information SI based on outputs of several detectors in turn, asshown in FIGS. 3F, 3H and 3J. Values of sensing information SI can begenerated in parallel or in series. In a preferred example of thepresent invention, values of sensing information SI are generated inseries, which can be achieved by a switching circuit 370, for example,by outputting values of sensing information SI from a plurality of ADCsin turn, as shown in FIGS. 3E, 3G, and 3I, or by providing outputs of aplurality of integrators to a single ADC in turn to generate values ofsensing information SI, as shown in FIGS. 3F, 3H and 3J.

Accordingly, in an example of the present invention, sensing informationSI having a plurality of signal values are generated based on signals ofa plurality of sensors, wherein each signal value is generated based ona signal from a sensor, as shown in FIGS. 3B, 3E and 3F. In anotherexample of the present invention, sensing information SI having aplurality of differences are generated based on signals of a pluralityof sensors, wherein each difference is generated based on signals from apair of sensors, as shown in FIGS. 3C, 3G and 3H. In yet another exampleof the present invention, sensing information SI having a plurality ofdual differences are generated based on signals of a plurality ofsensors, wherein each dual difference is generated based on signals fromthree sensors, as shown in FIGS. 3D, 3I and 3J.

In FIGS. 3E to 3J, wires connecting the detectors may include but notlimited to wires W1 and wires W2. Connection between an integrator and awire can be direct or indirect through a switching circuit, as shown inFIG. 3A. In an example of the present invention, values of sensinginformation are generated by multiple detections by at least a detectorof detecting circuit 320. Detecting circuit 320 selects some of thesensors for detection by using switching circuit 310. In addition, onlyselected sensors are driven by driving unit 130A, for example, inself-capacitive detection. Moreover, only selected sensors and somesensors adjacent to the selected sensors are driven by driving unit130A.

In the present invention, sensors can consist of a plurality ofconductive sheets and wires, such as a set of rhombic or squareconductive sheets connected together by wires. Structurally, conductivesheets of first sensors 140A and second sensors 140B may be arranged indifferent or same planes. For example, an insulating or piezoresistivelayer can be interposed between first and second sensing layers 120A and120B, wherein the piezoresistive layer is made from anisotropicconductive gel. Moreover, for example, conductive sheets of firstsensors 140A and second sensors 140B are substantially arranged in thesame plane, with the wires of first sensors 140A bridging over the wiresof second sensors 140B. In addition, pads can be disposed between thewires of first sensors 140A and second sensors 140B. These pads can bemade of insulating or piezoresistive materials.

Thus, in an example of the present invention, each sensor is responsiblefor a sensing range. There are a plurality of sensors, including aplurality of first sensors and a plurality of second sensors. Thesensing ranges of these first sensors are parallel to each other, whilethe sensing ranges of these second sensors are parallel to each other.The parallel sensing ranges of the first and second sensors intersect toform an intersecting matrix. For example, the first and second sensorsare two lines of infrared receivers arranged horizontally and verticallyfor sensing horizontal scanning ranges and vertical scanning ranges,respectively. The horizontal and vertical scanning ranges form anintersecting matrix. The horizontal and vertical scanning ranges areimplemented by several lines of intersecting capacitive or resistivesensors.

Conversion of Sensing Information

The signal values, differences and dual differences of the sensinginformation can be converted into one another. In a first conversionmethod provided by the present invention, continuous signal values areconverted into continuous differences; each difference being thedifference between a pair of adjacent or non-adjacent signal values.

In a second conversion method provided by the present invention,continuous signal values are converted into continuous dual differences;each dual difference being the sum or difference between two pairs ofsignal values.

In a third conversion method provided by the present invention,continuous differences are converted into continuous signal values; eachdifference is added to all the preceding or following differences toobtain a corresponding signal value, thereby constructing continuoussignal values.

In a fourth conversion method provided by the present invention,continuous differences are converted into continuous dual differences;each dual difference is the sum or difference of a pair of adjacent ornon-adjacent differences.

In a fifth conversion method provided by the present invention,continuous dual differences are converted into continuous differences;each dual difference is added to all the preceding or following dualdifferences to obtain a corresponding difference, thereby constructingcontinuous differences.

In a sixth conversion method provided by the present invention,continuous dual differences are converted into continuous signal values.In an example of the present invention, each dual difference is added toall the preceding dual differences to obtain a corresponding difference,thereby constructing continuous differences, and thereafter eachdifference subtracts all the following differences to generate acorresponding signal value, thereby constructing continuous signalvalues. In another example of the present invention, each dualdifference subtracts all the preceding dual differences to obtain acorresponding difference, thereby constructing continuous differences,and thereafter each difference is added to all the following differencesto generate a corresponding signal value, thereby constructingcontinuous signal values.

Adding all the preceding or following differences or dual differences togenerate a corresponding signal value or difference is performed byforward or backward accumulation.

These conversion methods may include but not limited to the conversionof 1-D sensing information, one with ordinary skill in the art canappreciate that the above conversion methods can be applied to 2-Dsensing information or 3-D (or even more dimensional) sensinginformation. In addition, one with ordinary skill in the art canappreciate that the above conversion methods can be performed by saidcontroller 160 or host 170.

Accordingly, in an example of the present invention, a first form ofsensing information (e.g. 1-D or 2-D sensing information) detected isconverted into sensing information for position analysis. In anotherexample of the present invention, a first form of sensing information isconverted into a second form of sensing information, and then the secondform of sensing information is converted into sensing information forposition analysis, for example, continuous dual difference is convertedto continuous signal values.

One-Dimension Position Analysis

A first type of position analysis provided by the present inventioninvolves analyzing the position of a zero-crossing based on a pluralityof differences in sensing information as the corresponding position ofan external object. One with ordinary skill in the art can recognizethat position analysis may include but not limited to determination ofthe touch or proximity of an object, that is, determination of acorresponding position of an external object may include but not limitedto the touch or proximity of the object.

In an example of the present invention, a pair of neighboringdifferences including a positive and a negative value is searched, thatis, a pair of positive and negative values at both sides of azero-crossing, and then the position of the zero-crossing in this pairof neighboring differences is then determined, for example, a slope isdetermined based on this pair of adjacent differences to infer theposition of the zero-crossing. In addition, order of the positive andnegative values can be used in conjunction for determining the positionof the zero-crossing. Said pair of neighboring differences can bedirectly adjacent to each other, or not adjacent and with at least onezero value between them. In addition, a pair of neighboring differenceswith a predetermined order of arrangement can be searched for, forexample, a pair of neighboring differences with a positive valueappearing first and followed by a negative value is searched for.

In another example of the present invention, a threshold is used fordetermining the starting position of the search. From there, a pair ofneighboring differences including a positive and a negative value issearched for, and then the position of a zero-crossing is determinedbased on the found pair of neighboring differences. One with ordinaryskill in the art can appreciate that in the case that sensinginformation is represented by differences, when sensing informationcorresponding to the touch or proximity of an external object is above apositive threshold or below a negative threshold, the searching usingthese threshold values may include but not limited to the determinationof the touch or proximity of the external object. In other words,whenever sensing information is above a positive threshold or below anegative threshold, it can be determined that there is a zero-crossingin the sensing information that corresponds to a touch or proximity ofan external object.

For example, a threshold generates binary values corresponding topositive differences. For example, a difference smaller than a threshold(e.g. positive threshold) is represented by 0 or false, and a differencelarger than the threshold is represented by 1 or true, and the positionof a 1 or true in adjacent differences 10 is regarded as the startingposition for a backward search of a zero-crossing. Similarly, adifference larger than a threshold (e.g. negative threshold) isrepresented by 0 or false, and a difference smaller than the thresholdis represented by 1 or true, and the position of a 1 or true in adjacentdifferences 01 is regarded as the starting position for a forward searchof a zero-crossing.

For example, Table 1 and FIG. 4B are examples of using threshold fordetermining touch or proximity of an external object.

TABLE 1 Second First Binary Binary Signal Difference Difference IndexValue Difference (T1 = 4) (T2 = −4) 1 0 0 0 0 2 0 0 0 0 3 0 3 0 3 4 3 71 0 5 10 −7 0 1 6 3 −3 0 0 7 0 0 0 0 8 0 0 0 0 9 0 2 0 0 10 2 5 1 0 11 70 0 0 12 7 −5 0 1 13 2 −2 0 0 14 0 0 0 0 15 0 0 0 0

This example includes signal values or difference of 15 sensors anddetermination results using a positive threshold T1 (e.g. 4) and anegative threshold T2 (e.g. −4). In the determination results using thepositive threshold, the starting positions are the 4th and 10thdifferences, that is, the position of a 1 in adjacent differences 10. Inthe diagram with vertical-stripe bar, it is found that there are twoinstances of touch or proximity of external objects. Similarly, in thedetermination results using the negative threshold, the startingpositions are the 5th and 12th differences, that is, the position of a 1in adjacent differences 01. In the diagram with horizontal-stripe bar,it is found that there are two instances of touch or proximity ofexternal objects. One with skill the art can appreciate that the numberof starting position corresponds to the number of instances of touch orproximity of external objects. The present invention does not limit toonly two instances of touch or proximity of external objects, but therecan be more.

In another example of the present invention, an interval for azero-crossing is determined using a first threshold and a secondthreshold, which may include but not limited to touch or proximity of anexternal object, and then the position of the zero-crossing is searchedwithin this interval. For example, a first threshold produces binaryvalues of positive differences, for example, a difference smaller thanthe first threshold is represented by 0 or false, and a differencelarger than the first threshold is represented by 1 or true, and theposition of a 1 in adjacent differences 10 is regarded as the startingposition. In addition, a second threshold produces binary values ofnegative differences, for example, a difference larger than the secondthreshold is represented by 0 or false, and a difference smaller thanthe second threshold is represented by 1 or true, and the position of a1 in adjacent differences 01 is regarded as the end position. Moreover,the starting and end positions are paired to form intervals forsearching zero-crossings. In an example of the present invention, aslope is used to determine the zero-crossing between a starting position(e.g. position of a 1 in 10) and an end position (e.g. position of a 1in 01). One with ordinary skill in the art can appreciate that thestarting and end positions are interchangeable. One with ordinary skillin the art can appreciate that touch related sensing information can bedetermined by regarding the location of 1 in 01 as the starting positionand the location of 1 in 10 as the end position.

Take again the example shown in FIG. 4A and Table 1, after pairing, afirst search interval is between the 4th and 5th differences, and asecond search interval is between the 10th and 12th differences.

One with ordinary skill in the art can appreciate that positive andnegative thresholdings can be performed simultaneously (or in parallel).Interval pairing can be carried out by pairing a determined startingposition with an end position that determined immediately afterwards.

In an example of the present invention, thresholds can be generated bysensing information. For example, a threshold value can be determined bymultiplying a maximum of the absolute values of all differences by aratio (e.g. a ratio smaller than one, such as 0.9), or a positivethreshold value can be determined by multiplying a maximum of allpositive differences by a ratio, or a negative threshold value can bedetermined by multiplying a minimum of all negative differences by aratio. In other words, a threshold value can be static or dynamic. Thus,when the absolute value of a threshold is relatively large, it ispossible that external object is determined when using the positivethresholding but not in the negative thresholding, or vice versa. Alarger threshold value is favorable for noise or ghost points filtering,while a smaller threshold value is favorable for avoiding miss of realtouch or for determining approaching of external objects.

From the above, it is clear that, corresponding to the same touch orapproaching of an object, regardless of a backward search from astarting position identified using a positive threshold value or aforward search from a starting position identified using a negativethreshold value, the same zero-crossing will be searched. Thus, in anexample of the present invention, search for a zero-crossing starts fromstarting positions identified using positive and negative thresholdvalues, and the number of external touch or approaching is determinedbased on the number of zero-crossings found, and then the positions ofthe zero-crossings are determined. When the values at both sides of azero-crossing that corresponds to an external touch or approaching arefirst positive and then negative, the search for zero-crossing isbackward from the starting position when using positive thresholding,whereas the search for zero-crossing is forward from the startingposition when using negative thresholding, and vice versa. In addition,an external touch or approaching may not always exhibit startingpositions in both positive and negative thresholdings.

A second type of position analysis provided by the present inventioninvolves analyzing the position of centroid (position of center ofweight or weighted average position) based on a plurality of signalvalues or dual differences in sensing information as the correspondingposition of an external object.

In an example of the present invention, a threshold value is used todetermine the centroid position of signal values or dual differences, asshown in FIGS. 4B and 4D. A threshold can generate binary valuescorresponding to signal values or dual differences. For example, asignal value or dual difference smaller than a threshold is representedby 0 or false, and a signal value or dual difference larger than thethreshold is represented by 1 or true. In this example, a signal valueor dual difference represented by 1 or true is used in determiningcentroid position. One with ordinary skill in the art can appreciateother ways for determining a centroid position of signal values or dualdifferences using a threshold. For example, a signal value or dualdifference represented by 1 or true, as well as a plurality of signalvalues or dual differences at either side thereof, are used indetermining centroid position. As another example, in a continuousseries of adjacent signal value or dual difference represented by 1 ortrue, a number (i) of and a number (j) of signal values or dualdifferences before and after a signal value or dual difference that isat the center of the series are taken to determine the centroidposition.

In another example of the present invention, continuous signal values ordual differences are converted into continuous differences to identifythe center signal value or dual difference that corresponds to azero-crossing, and i and j signal values or dual differences before andafter the center signal value or dual difference are used fordetermining the centroid position.

In another example of the present invention, a zero-crossing isdetermined by continuous differences, and the continuous differences areconverted into continuous signal values or dual differences, and thenthe center signal value or dual difference that corresponds to thezero-crossing is identified, thereafter, i and j signal values or dualdifferences before and after the center signal value or dual differenceare used for determining the centroid position.

Assuming that using i and j signal values respectively before and afterthe nth signal value as a centroid calculation range, the centroidposition can be determined based on each signal value C_(k) and itsposition in the centroid calculation range as follows:

$C_{centroid} = \frac{\sum\limits_{k = {n - i}}^{n + j}{X_{k}C_{k}}}{\sum\limits_{k = {n - i}}^{n + j}C_{k}}$

wherein X_(k) can be a 1-D coordinate (e.g. X or Y coordinate) or 2-Dcoordinates (e.g. (X, Y)).

Assuming the difference between the k−1th signal value and the kthsignal value is D_(k), and the kth dual difference isDD_(k)=D_(k−1)−D_(k)=(C_(k)−C_(k−1))−(C_(k+1)−C_(k))=2C_(k)−C_(k−1)+C_(k+1),and assuming using i and j signal values respectively before and afterthe nth dual difference DD_(n) as a centroid calculation range, thecentroid position can be determined based on each dual difference DD_(k)in the centroid calculation range as follows:

${DD}_{centroid} = \frac{\sum\limits_{k = {n - i}}^{n + j}{X_{k}{DD}_{k}}}{\sum\limits_{k = {n - i}}^{n + j}{DD}_{k}}$

wherein X_(k) can be a 1-D coordinate (e.g. X or Y coordinate) or 2-Dcoordinates (e.g. (X, Y)). One with ordinary skill in the art cansimilarly appreciate the calculation for centroid position when the kthdual difference isDD_(k)=(C_(k)−C_(k−2))−(C_(k+2)−C_(k))=2C_(k)−C_(k−2)+C_(k+2). This willnot be described further.

In another example of the present invention, signal values or dualdifferences used for determining centroid position is obtained by firstsubtracting a base value. For example, this base value can be theaverage of all signal values or dual differences, the average of aplurality of signal values or dual differences at either sides of thesignal values or dual differences used for centroid positiondetermination, or the average of a plurality of signal values or dualdifferences not used for centroid position determination that areadjacent to either sides of the signal values or dual differences usedfor centroid position determination. One with ordinary skill in the artcan recognize other ways of determining the base value. For example, thebase value can be determined based on a first ratio of at least onesignal value or dual difference at one side and a second ratio of atleast one signal value or dual difference at the other side.

Taken the average of the ith signal value C_(n−i) and the jth signalvalue I_(n+j) respectively before and after the nth signal value as basevalue

${C_{{base}{({i,j})}}\left( {C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}} \right)},$and using i and j signal values respectively before and after the nthsignal value as a centroid calculation range, the centroid position canbe determined based on each signal value C_(k) minus the base valueC_(base(i,j)) in the centroid calculation range as follows:

$C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}$${C_{k} - C_{{base}{({i,j})}}} = {\frac{{2C_{k}} - C_{n - i} - C_{n + j}}{2} = {\frac{\left( {C_{k} - C_{n - i}} \right)}{2} + \frac{\left( {C_{k} - C_{n + j}} \right)}{2}}}$$C_{cnetroid} = {\frac{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( \frac{{2C_{k}} - C_{n - i} - C_{n + j}}{2} \right)}}{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}\frac{{2C_{k}} - C_{n - i} - C_{n + j}}{2}} = \frac{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( {{2C_{k}} - C_{n - i} - C_{n + j}} \right)}}{\sum\limits_{k = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{2C_{k}} - C_{n - i} - C_{n + j}} \right)}}$

wherein X_(k) can be a 1-D coordinate (e.g. X or Y coordinate) or 2-Dcoordinates (e.g. (X, Y)).

A third type of position analysis provided by the present inventioninvolves analyzing the position of centroid (position of center ofweight or weighted average position) based on a plurality of differencesin sensing information as the corresponding position of an externalobject.

Assuming the difference between the k−1th signal value C_(k−1) and thekth signal value C_(k) is D_(k).

(C_(k) − C_(n − i)) = D_(n − (i − 1)) + D_(n − (i − 2)) + … + D_(k)(C_(k) − C_(n + j)) = −(D_(k + 1) + D_(k + 2) + … + D_(n + j))${C_{k} - C_{{base}{({i,j})}}} = {\frac{{2C_{k}} - C_{n - i} - C_{n + j}}{2} = \frac{\left( {D_{n - {({i - 1})}} + D_{n - {({i - 2})}} + \ldots + D_{k}} \right) - \left( {D_{k + 1} + D_{k + 2} + \ldots + D_{n + j}} \right)}{2}}$${C_{k} - C_{{base}{({i,j})}}} = \frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}}{2}$$C_{cnetroid} = {\frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{s}\left( \frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}}{2} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\frac{{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}}{2}} = \frac{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}{X_{k}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}} \right)}}{\sum\limits_{s = {n - i}}^{{n - i} \leq k \leq {n + j}}\left( {{\sum\limits_{s = {n - {({i - 1})}}}^{k}D_{s}} - {\sum\limits_{s = {k + 1}}^{n + j}D_{s}}} \right)}}$

Accordingly, the centroid position C_(centroid) can be calculated basedon the differences between the signal values, wherein the differences inthe centroid calculation range are D_(n−(i−1)), D_(n−(i−2)), . . . ,D_(k), D_(k+1), . . . , D_(n+j), D_(n+(j+1)). In other words, thecentroid position C_(centroid) can be calculated based on thedifferences in the centroid calculation range.

As an example, assuming 1 signal value before and after the nth signalvalue are taken for determining the centroid position, differences inthe centroid calculation range can be used to calculate it. This isproven as follows:

D_(n − 1) = C_(n − 1) − C_(n − 2) D_(n) = C_(n) − C_(n − 1)D_(n + 1) = C_(n + 1) − C_(n) D_(n + 2) = C_(n + 2) − C_(n + 1)$C_{{base}{({2,2})}} = \frac{C_{n - 2} + C_{n + 2}}{2}$${C_{n - 1} - C_{{base}{({2,2})}}} = {\frac{{2C_{n - 1}} - C_{n - 2} - C_{n + 2}}{2} = \frac{D_{n - 1} - D_{n} - D_{n + 1} - D_{n + 2}}{2}}$${C_{n} - C_{{base}{({2,2})}}} = {\frac{{2C_{n}} - C_{n - 2} - C_{n + 2}}{2} = \frac{D_{n - 1} + D_{n} - D_{n + 1} - D_{n + 2}}{2}}$${C_{n + 1} - C_{{base}{({2,2})}}} = {\frac{{2C_{n + 1}} - C_{n - 2} - C_{n + 2}}{2} = \frac{D_{n - 1} + D_{n} + D_{n + 1} - D_{n + 2}}{2}}$$C_{centroid} = \frac{\begin{matrix}{{X_{n - 1}\left( {C_{n - 1} - C_{{base}{({2,2})}}} \right)} + {X_{n}\left( {C_{n} - C_{{base}{({2,2})}}} \right)} +} \\{X_{n - 1}\left( {C_{n + 1} - C_{{base}{({2,2})}}} \right)}\end{matrix}}{\left( {C_{n - 1} - C_{{base}{({2,2})}}} \right) + \left( {C_{n} - C_{{base}{({2,2})}}} \right) + \left( {C_{n + 1} - C_{{base}{({2,2})}}} \right)}$$C_{centroid} = \frac{\begin{matrix}\left( {{X_{n - 1}\left( {D_{n - 1} - D_{n} - D_{n + 1} - D_{n + 2}} \right)} +} \right. \\{{X_{n}\left( {D_{n - 1} + D_{n} - D_{n + 1} - D_{n + 2}} \right)} +} \\\left. {X_{n + 1}\left( {D_{n - 1} + D_{n} + D_{n + 1} - D_{n + 2}} \right)} \right)\end{matrix}}{\begin{matrix}\left( {\left( {D_{n - 1} - D_{n} - D_{n + 1} - D_{n + 2}} \right) +} \right. \\{\left( {D_{n - 1} + D_{n} - D_{n + 1} - D_{n + 2}} \right) +} \\\left. \left( {D_{n - 1} + D_{n} + D_{n + 1} - D_{n + 2}} \right) \right)\end{matrix}}$

One with ordinary skill in the art can recognize that taking i and jsignal values, differences or dual differences respectively before andafter the nth signal value as the centroid calculation range can beapplied to determine the signal value, difference or dual difference onthe centroid position.

From the above description, it can be seen that the present inventionperforms position detection by analyzing sensing information that maynot only include originally obtained signal values, differences, or dualdifferences, but also signal values, differences, or dual differencesconverted from originally obtained sensing information. By analyzing 1-Dor 2-D sensing information on two difference axes (e.g. X and Y axes)that corresponds to the same object, that is, by performing 1-D or 2-Dposition analysis on two different axes, the positions (or coordinates)of the object on these two axes can be obtained, thereby a 2-D position(or 2-D coordinates) can be constructed.

One with ordinary skill in the art can appreciate that operations of theabove 1-D position analysis can be performed by said controller 160 orhost 170.

Two-Dimension Position Analysis

2-D sensing information can be comprised of a plurality of 1-D sensinginformation, wherein each 1-D sensing information includes sensinginformation that corresponds to a plurality of first 1-D positions, andeach 1-D sensing information corresponds to a second 1-D position. Thus,2-D position analysis can at least include 1-D position analysis on aplurality of 1-D touch sensitive information, that is, 2-D positionanalysis can at least include a plurality of 1-D position analysis.

In addition, in a first example of the present invention, a first 1-Dcentroid position of any external object on each first dimensionalsensing information is a 2-D position (e.g. 2-D coordinates (first 1-Dcentroid position, second 1-D position of the first dimensional sensinginformation)), and can be used to calculate a 2-D centroid position ofthe object (or center of geometry), wherein the weight of each 1-Dcentroid position can be a signal value or dual difference of theexternal object on the corresponding first dimensional sensinginformation (e.g. one or average or interpolation of two signal valuesor dual differences closest to the 1-D centroid position on the firstdimensional sensing information), or sum of signal values or dualdifferences of the external object on the corresponding firstdimensional sensing information.

Thus, 2-D position analysis can perform 1-D position analysis on eachfirst dimensional sensing information, and analyze a 2-D centroidposition of each external object based on at least one 2-D position thatcorresponds to each external object.

In addition, in a second example of the present invention, 2-D positionanalysis may include performing 1-D position analysis on a plurality of1-D sensing information on a first axis (or a first dimension),respectively, and based on at least one 1-D position corresponding toeach external object on the first axis, analyzing a first 1-D centroidposition of each external object on the first axis. Similarly, 2-Dposition analysis may further include performing 1-D position analysison a plurality of 1-D sensing information on a second axis (or a seconddimension), respectively, and based on at least one 1-D positioncorresponding to each external object on the second axis, analyzing asecond 1-D centroid position of each external object on the second axis.By pairing the first 1-D centroid position on the first axis with thesecond 1-D centroid position on the second axis for each externalobject, a 2-D position for each external object can be analyzed.

In other words, 2-D position analysis may include performing 1-Dposition analysis on 2-D sensing information on two different axes (e.g.2-D sensing information on the first axis and 2-D sensing information onthe second axis) to obtain a 2-D position for each external object.

In addition, in a third example of the present invention, 2-D positionanalysis may include analyzing 1-D centroid position corresponding toeach external object from a plurality of 1-D sensing information on afirst axis, and based on a 2-D position corresponding to each 1-Dsensing information, determining a 2-D position of each 1-D centroidposition that corresponds to each external object on the first axis. 2-Dposition analysis may further include analyzing 1-D centroid positioncorresponding to each external object from a plurality of 1-D sensinginformation on a second axis, and based on a 2-D position correspondingto each 1-D sensing information, determining a 2-D position of each 1-Dcentroid position that corresponds to each external object on the secondaxis. 2-D position analysis may further include analyzing a 2-D centroidposition based on the 2-D positions of all 1-D centroid positions on thefirst and second axes that correspond to each external object.

One with ordinary skill in the art can appreciate that 2-D sensinginformation can determine the position of each external object by imageprocessing, for example, using watershed or other image processingtechniques. As another example, watershed algorithm can be used toanalyze the position of each watershed, and then the centroid positionis calculated using sensing information near each watershed position toobtain a more accurate position.

In a fourth example of the present invention, a plurality of 1-D sensinginformation originally obtained can be represented by signal values ordual differences, which construct an image (or matrix) formed from 2-Dsensing information. Watershed algorithm or other image processingtechniques can be used for position analysis. Alternatively, a“connected component” algorithm can be used, which analyzes connectedportions in an image to determine an image of each external object, andfurther determines the position or the type of the object, such as afinger, a palm or a pen.

In a fifth example of the present invention, a plurality of 1-D sensinginformation originally obtained can be represented by differences, whichare then converted into signal values or dual differences, which in turnconstruct an image (or matrix) formed from 2-D sensing information.Watershed algorithm or other image processing techniques can be used forposition analysis.

In a sixth example of the present invention, a plurality of 1-D sensinginformation originally obtained can be represented by differences. Byperforming position analysis on each 1-D sensing information, theposition of each zero-crossing, as well as the signal value or dualdifference on the position of each zero-crossing can be determined,thereby constructing an image (or matrix) formed from 2-D sensinginformation. Watershed algorithm or other image processing techniquescan be used for position analysis.

The dual difference of a zero-crossing point can be generated by twodirectly adjacent differences, for example, a zero-crossing is betweenthe k−1th difference and the kth difference, and the dual difference atthis zero-crossing point is DD_(k)=D_(k−1)−D_(k). The signal value of azero-crossing point can be generated after converting all differencesrepresenting the 1-D sensing information into signal values, orgenerated based on a plurality of differences closest to thezero-crossing. For example, zero-crossing is closest to the nth signalvalue, and the average of ith signal value C_(n−i) and the jth signalvalue I_(n+j) before and after the nth signal value is taken as the basevalue

${C_{{base}{({i,j})}}\left( {C_{{base}{({i,j})}} = \frac{C_{n - i} + C_{n + j}}{2}} \right)},{{{{and}\mspace{14mu} C_{n}} - C_{{base}{({i,j})}}} = \frac{{2C_{n}} - C_{n - i} - C_{n + j}}{2}}$is taken as the signal value, then

${C_{n} - C_{{base}{({i,j})}}} = {\frac{{2C_{n}} - C_{n - i} - C_{n + j}}{2} = {\frac{\begin{matrix}{\left( {D_{n - {({i - 1})}} + D_{n - {({i - 2})}} + \ldots + D_{n}} \right) -} \\\left( {D_{n + 1} + D_{n + 2} + \ldots + D_{n + j}} \right)\end{matrix}}{2}.}}$

In other words, between the n−(i−1)th difference to the (n+j)thdifference, the signal value at zero-crossing can be determined.

In a seventh example of the present invention, a plurality of 1-Dsensing information originally obtained can be represented by signalvalues and dual differences and are then converted to differences. Byperforming analysis on each 1-D sensing information, the position ofeach zero-crossing is determined. In conjunction with the signal valueor dual difference on each zero-crossing position, an image (or matrix)formed by 2-D sensing information can be constructed. Watershedalgorithm or other image processing techniques can be used for positionanalysis.

In an eighth example of the present invention, when or in the process ofobtaining 2-D sensing information on the first axis, 1-D sensinginformation on the second axis is also obtained. After performingposition analysis on the position of the 2-D sensing information on thefirst axis, the 1-D position or 2-D position of each external object onthe first axis can be obtained. In addition, after performing positionanalysis on the position of the 2-D sensing information on the secondaxis, the 1-D position of each external object on the second axis can beobtained. The 1-D position on the second axis can be paired up with the1-D position on the first axis to form a 2-D position, or can be used toreplace or correct the position on the second axis in the 2-D positionon the first axis.

One with ordinary skill in the art can appreciate that the operations ofthe above 2-D position analysis can be performed by said controller 160or host 170. In addition, in an example of the present invention, the1-D distance or 2-D distance between each 1-D centroid positioncorresponding to the same touch or approach and at least one other 1-Dcentroid position corresponding to the same touch or approach is withina threshold. In another example of the present invention, the weight ofeach 1-D centroid position corresponding to the same touch or approachis greater than a threshold.

In the following description, a touch related sensing information can bea touch related sensing information or one of multiple touch relatedsensing information in a sensing information. Operations related totouch related sensing information can be applied not only to specifictouch related sensing information but also to all touch related sensinginformation of the present invention.

In an example of the present invention, the position of a zero-crossingcan be determined by a pair of positive and negative values of the touchrelated sensing information. A zero-crossing exists between a positiveand a negative value. From this positive and negative value and theirassociated positions, the slope can be determined, which is then used toestimate the position of the zero-crossing, that is, the position at thezero value of a line between the positive and negative values isdetermined based on the slope.

In another example of the present invention, the pair of positive andnegative values can be respectively determined using a positivethreshold Tp and a negative threshold Tn. As shown in FIG. 5A. positivevalues are at points a and points b, or the value closest to point a(e.g. the N+1^(th) difference) or the value closest to point b (e.g. theN+3^(th) difference). Similarly, negative values are at points c andpoints d, or the value closest to point c (e.g. the N+4^(th) difference)or the value closest to point d (e.g. the N+6^(th) difference). Forexample, the positive value is the N+3^(th) difference and the negativevalue is the N+4^(th) difference, and a virtual line is drawn from thepeak of the positive value to the trough of the negative value, and theslope of the line is then determined, which is then used to calculatethe position for this line at zero value, i.e. the zero-crossing Z.

In an example of the present invention, the position of thezero-crossing can be determined by the maximum (peak) and minimum(trough) of the touch related sensing information. As shown in FIG. 5B,the slope can be obtained from a maximum and a minimum and theirassociated positions, and the position of the zero-crossing is estimatedbased on the slope, that is, the position of the line connecting betweenthe maximum and the minimum at zero value is determined based on theslope. For example, touch related sensing information is present betweenthe N^(th) difference and the N+6^(th) difference, and the maximum andthe minimum are the N+2^(th) difference and the N+5^(th) differencerespectively. A virtual line is drawn from the peak of the maximum tothe trough of the minimum. The position of the zero-crossing is at zerovalue on this line, which can be calculated by the slope of the line.

The maximum and minimum can be determined by the thresholds mentionedearlier. For example, positive threshold Tp and negative threshold Tncan be fixed or dynamically adjusted, so that the maximum and theminimum stand out from positive threshold Tp and negative threshold Tn.Alternatively, a group of positive values greater than positivethreshold Tp and a group of negative values less than negative thresholdTn are obtained based on positive threshold Tp and negative thresholdTn, and then the maximum and minimum are determined from the groups ofpositive and negative values.

Touch related sensing information in a sensing information can be one ormore, that is, the sensing device is touched or approached by one ormore external object. For example, as shown in FIG. 5C, a sensinginformation includes two touch related sensing information. A group ofpositive values (or maximum) and a group of negative values (or minimum)in each touch related sensing information are determined based onpositive threshold Tp and negative threshold Tn, and then twozero-crossings Z1 and Z2 are then determined. In the present invention,the determination of zero-crossings may include but not limited to thepositions and the number of zero-crossings.

In fact, the determination of zero-crossings implies the determinationof the number of external touches or approaches. For example, twozero-crossings are determined in FIG. 5C, this implies that there aretwo external touches or approaches.

When two external touches or approaches are too close to each other, atouch related sensing information will be formed. As shown in FIG. 5D, acurve line at the top indicates the signal values, and a bend line atthe bottom indicates the corresponding difference. When examining thecurve line, there may be two external touches, but when examining thebend line, there are three zero-crossings.

In an example of present invention, zero-crossings are determineddepending on the order of appearance of each pair of positive andnegative values. For example, only zero-crossings between pairs ofpositive first then negative values are taken into account. On the otherhand, zero-crossings between pairs of negative first then positivevalues are not taken into account. Alternatively, only zero-crossingsbetween pairs of negative first then positive values are taken intoaccount, but zero-crossings between pairs of positive first thennegative values are not taken into account. As shown in FIG. 5D, whenonly zero-crossings between pairs of positive first then negative valuesare taken into account, two zero-crossings are determined. In otherwords, when there is a single touch or approach, and touch relatedsensing information is positive value first then negative, only thezero-crossing between a pair of positive first then negative values isdetermined, and vice versa.

In another example of the present invention, zero-crossings at oddnumber of positions are considered. As shown in FIG. 5E, a firstzero-crossing Z3, a third zero-crossing Z4, and a fifth zero-crossing Z5are considered. Accordingly, the position of each external touch orapproach is analyzed from the touch related sensing information with aplurality of zero-crossings, and in the present invention, the positionof each external touch or approach is analyzed from the touch relatedsensing information with odd number of zero-crossings, wherein thenumber of analyzed positions is different from the number ofzero-crossings.

The number of analyzed positions different from the number ofzero-crossings may include but not limited to the number ofzero-crossings greater than the number of analyzed positions, or thenumber of zero-crossings less than the number of analyzed positions, forexample, two external touches or approaches are determined from a touchrelated sensing information with a single zero-crossing.

In a preferred example of the present invention, a sensor I with asignal value which is first to exceed a preset range is determined, anda sensor J−1 preceding a sensor J with a signal value which is first tonot exceed the preset range is also determined. Two centroids orgeometric centers are calculated from sensor I and sensor J−1 to obtaintwo positions. In addition, in a preferred example of the presentinvention, a base value for a centroid or geometric center is calculatedbased on the average of signal values of the K^(th) sensors from eitherside of a sensor. The coordinate is calculated by dividing the sum of(signal value−base value)*coordinate value) of each sensor within thek−1^(th) sensor range from either side of a sensor with the sum of thecoordinate value or signal value of each sensor within the k−1^(th)sensor range from either side of a sensor, wherein if the differencebetween the signal value and the base value is negative, the result ofthe subtraction is represented by 0.

Referring to FIGS. 6A and 6B, there are 11 sensors, including sensors1˜11. In FIG. 6A, the signal values of the sensor 1˜11 are (0, 0, 0, 3,4, 4, 5, 3, 0, 0, 0), respectively, and the differences are (0, 0, 3, 1,0, 1, −2, −3, 0, 0), respectively, and the present range is between 1.9and −1.9. Thus, sensor I and sensor J−1 are sensors 4 and 7,respectively. The coordinate corresponding to sensor 4 is calculated byfirst obtaining the average of signal values of the second sensor ateither side of sensor 4 (0 for sensor 2 and 4 for sensor 6). In thiscase, the average is 2. Thus, the coordinate is5.17=(0*3.5+1*4.5+2*5.5)/(0+1+2). Similarly, the coordinatecorresponding to sensor 7 is 6.33, and the distance of the two is 1.17.In the same way, as shown in FIG. 6B, sensor I and sensor J−1 aresensors 4 and 7, respectively, and the coordinates corresponding tosensors 4 and 7 are 5.5 and 6.04, respectively, and the distance betweenthe two is 0.54. Thus, when the first threshold is 0.8, FIG. 6A isregarded as having two external touches and FIG. 6B is regarded ashaving only a single touch.

In the example of FIG. 6A, 5.17 and 6.33 can be used as the position ofthe external touches. In the example of FIG. 6B, the average or theposition of the zero-crossing of 5.5 and 6.04 can be used as theposition of the single external touch. Comparing FIGS. 6A and 6B,although the numbers of values in the touch related sensing informationare the same, and both have a single zero-crossing, but a touch relatedsensing information indicating a single or multiple touches can bedistinguished by using the determination provided by the presentinvention.

The determination of sensors I and J−1 or J are merely examples of thepresent invention, and the present invention is not limited to these.One with ordinary skill in the art can recognize other ways fordetermining two positions from touch related sensing information andusing the distance between positions of the centroids or geometriccenters of these two positions on the touch related sensing informationto determine whether there is a single touch or multiple touches. Forexample, sensors I and J may be the K^(th) sensor from the touch relatedsensing information, respectively. As another example, sensors I and Jmay be determined based on a pair of zero-crossing of dual-differentialsensing information, e.g. based on signal values at correspondingzero-crossings, or the k^(th) signal values from corresponding zerocrossings. The method for determining two positions from touch relatedsensing information can be varied depending on the distances betweensensors, signal properties, or the thickness of a carrier or a substrateon which the sensors are provided.

Referring to FIG. 7, a method for analyzing positions is provided by afirst embodiment of the present invention. First, in step 710, a sensinginformation including at least one zero-crossing is obtained, whereineach zero-crossing is between a positive and a negative value.Thereafter, in step 720, a plurality of positions that are different innumbers to the zero-crossings are analyzed. In other words, in additionto analyzing each position when the number of zero-crossings equals thenumber of external touches or approaches, each position can also beanalyzed when the number of zero-crossings does not equal the number ofexternal touches or approaches.

As mentioned before, the number of zero-crossings can be greater or lessthan the number of analyzed positions. For example, from odd number ofzero-crossings, the location of the zero-crossing at each odd locationis determined to analyze the positions that are less than the number ofzero-crossings. As another example, a touch related sensing informationwith a single zero-crossing can be determined as a single touch orapproach (e.g. one touch) or multiple touches or approaches (e.g. twotouches).

The number of zero-crossing may also be even, for example, when sensinginformation is dual-differential sensing information, each position isanalyzed based on a pair of zero-crossings or the peak between a pair ofzero-crossings.

Sensing information can be generated based on signals of a plurality ofsensors. For example, sensing information may be differential sensinginformation. Each value of the differential sensing information isgenerated based on signals of a pair of sensors in the sensors. Asanother example, sensing information may be dual-differential sensinginformation. Each value of the dual-differential sensing information isgenerated based on signals of three sensors in the sensors. Moreover,sensing information can also be generated based on another sensinginformation consisting of a plurality of signal values, a plurality ofdifferences, or a plurality of dual differences (e.g. as the conversionof sensing information described previously).

Steps 710 and 720 can be performed by controller 160 or host 170.Moreover, the obtaining of sensing information can be achieved by firstgenerating another sensing information by controller 160 based onsignals of a plurality of sensors, and then converting it into thesensing information described in step 710 by controller 160 or host 170.For relevant contents, please refer to pervious descriptions, and theywill not be described further.

In the best mode, referring to FIG. 8, a method for analyzing positionsis provided by a second embodiment of the present invention. First, instep 810, a sensing information is obtained. As described before,sensing information can be generated by controller 160 according tosignals of a plurality of sensors, or converted by controller 160 orhost 170 from an initial sensing information generated by controller 160according to signals of a plurality of sensors.

Next, in step 820, at least a first initial position in the sensinginformation is determined based on a first threshold, as illustrated inFIGS. 5A to 5C and their associated descriptions, for example. Next, instep 830, a zero-crossing position is determined by performingzero-crossing position analysis starting from each first initialposition in a first range in a first direction, wherein eachzero-crossing is between a positive and a negative value.

In an example of the present invention, at least a first initial rangeis determined by a first threshold. Each first initial position is atthe only value in the first initial range or the maximum value, thefirst value, or the last value in the first initial range. The firstrange can be from the first initial position to the value just before azero-crossing, a zero-crossing, or the value just after a zero-crossing.For example, a first initial range including point a, the maximum value,and point b is determined by using positive threshold Tp, and the firstinitial position can be point a, the maximum value, or point b.Moreover, the first direction can be backward, and the first range isfrom the first initial position back to the first value with an oppositesign (negative value) or zero value. As another example, a first initialrange including point c, the minimum value, and point d is determined byusing negative threshold Tn, and the first initial position can be pointc, the minimum value, or point d. Moreover, the first direction can beforward, and the first range is from the first initial position forwardto the first value with an opposite sign (negative value) or zero value.In addition, determining the first initial range or the first initialposition using the first threshold can be achieved by the binarizationprocess mentioned earlier as illustrated in FIGS. 4A-4D and itsassociated descriptions.

In another example of the present invention, a zero-crossing position isanalyzed from the first value with an opposite sign and another valueadjacent the zero-crossing. In other words, a zero-crossing position isanalyzed from a pair of positive and negative values adjacent thezero-crossing.

In yet another example of the present invention, each zero-crossingposition is used as the position of at least one external touch, or eachzero-crossing position determines a position corresponding to one ofleast one external touch. For example, the position of a centroid orgeometric center is calculated based on each zero-crossing position, andused as the position of one of at least one external touch. The positionof a centroid or geometric center may be calculated based on azero-crossing position, directly from the sensing information, or from aplurality of signal values or a plurality of dual differencescorresponding to the sensing information.

Referring to FIG. 5F, when external touches are close to each other, thefirst threshold may not always find a first initial positioncorresponding to each external touch due to cancellation of somepositive and negative values of different external touches. In order toaddress this problem, the present invention further includes steps 840and 850, in which at least a second initial position in the sensinginformation is determined based on a second threshold, and azero-crossing position is determined by performing zero-crossingposition analysis starting from each second initial position in a secondrange in a second direction.

In an example of the present invention, at least a second initial rangeis determined by a second threshold. Each second initial position is atthe only value in the second initial range or the maximum value, thefirst value, or the last value in the second initial range. The secondrange can be from the second initial position to the value just before azero-crossing, a zero-crossing, or the value just after a zero-crossing.For example, a second initial range including point a, the maximumvalue, and point b is determined by using positive threshold Tp, and thesecond initial position can be point a, the maximum value, or point b.Moreover, the second direction can be backward, and the second range isfrom the second initial position back to the first value with anopposite sign (negative value) or zero value. As another example, asecond initial range including point c, the minimum value, and point dis determined by using negative threshold Tn, and the second initialposition can be point c, the minimum value, or point d. Moreover, thesecond direction can be forward, and the second range is from the secondinitial position forward to the first value with an opposite sign(negative value) or zero value. In addition, determining the secondinitial range or the second initial position using the second thresholdcan be achieved by the binarization process mentioned earlier asillustrated in FIG. 4 and its associated descriptions.

In an example of the present invention, one of the first and secondthresholds is positive, while the other one of the first and secondthresholds is negative. In addition, the first and second directions areopposite.

In another example of the present invention, said steps 810 to 850 areapplicable to sensing information or touch related sensing informationwith odd number of zero-crossings, and the analyzed zero-crossings arezero-crossings at odd-number positions. In the present invention,zero-crossings at odd-number positions are zero-crossings appeared atodd-number position in the sequence of all zero-crossings.

Steps 810 to 850 can be performed by controller 160 or host 170.Moreover, the obtaining of sensing information can be achieved by firstgenerating another sensing information by controller 160 based onsignals of a plurality of sensors, and then converting it into thesensing information described in step 810 by controller 160 or host 170.For relevant contents, please refer to pervious descriptions, and theywill not be described further.

Referring to FIG. 9, a method for detecting finger touches in a sensingdevice is provided by a third embodiment of the present invention.First, in step 910, a sensing information is obtained. Next, in step920, it is determined whether there are positive values greater than apositive threshold. Then, in step 930, it is determined whether thereare negative values smaller than a negative threshold. Thereafter, instep 940, when there are positive values greater than the positivethreshold and negative values smaller than the negative threshold,zero-crossings between these positive and negative values aredetermined.

In an example of the present invention, the zero-crossings are touchpositions, and the number of zero-crossings is the number of touches. Inaddition, the determining of zero-crossings may include determining azero-crossing between a first pair of a positive value followed by anegative value, wherein the determining of zero-crossings may includenot determining a zero-crossing between a second pair of a negativevalue followed by a positive value. Alternatively, the determining ofzero-crossings may include determining a zero-crossing between a firstpair of a negative value followed by a positive value, wherein thedetermining of zero-crossings may include not determining azero-crossing between a second pair of a positive value followed by anegative value.

Steps 910 to 940 can be performed by controller 160 or host 170.Moreover, the obtaining of sensing information can be achieved by firstgenerating another sensing information by controller 160 based onsignals of a plurality of sensors, and then converting it into thesensing information described in step 810 by controller 160 or host 170.For example, the sensing information is generated by controller 160based on signals from a plurality of sensors, and each value of thesesensors is generated based on signals of a pair of sensors among thesensors. As another example, the sensing information can be generatedbased on a plurality of signal values, and these signal values aregenerated by controller 160 based on signals from a plurality ofsensors. As yet another example, the sensing information can begenerated based on a plurality of dual differences, and each dualdifference is generated by controller 160 based on signals from threesensors among the sensors. For relevant contents, please refer topervious descriptions, and they will not be described further.

The above embodiments are only used to illustrate the principles of thepresent invention, and they should not be construed as to limit thepresent invention in any way. The above embodiments can be modified bythose with ordinary skill in the art without departing from the scope ofthe present invention as defined in the following appended claims.

What is claimed is:
 1. A method for analyzing positions, executed by amicroprocessor from a non-transitory computer-readable storage medium,comprising: obtaining a sensing information including at least onezero-crossing, wherein each zero-crossing is between a positive and anegative value; and analyzing, by the microprocessor, from the sensinginformation at least one position that is different in number to the atleast one zero-crossing, wherein the number of the at least onezero-crossing is smaller than the number of the at least one position.2. The method of claim 1, wherein the number of the at least onezero-crossings is odd.
 3. The method of claim 1, wherein the at leastone position is analyzed based on zero-crossings at odd-number position.4. The method of claim 1, wherein the number of the at least onezero-crossings is even.
 5. The method of claim 1, wherein the number ofthe at least one zero-crossing is one, and the number of the at leastone position is two.
 6. The method of claim 1, wherein the sensinginformation is a differential sensing information, each value of thedifferential sensing information being generated based on a pair ofsensors among a plurality of sensors.
 7. A device for analyzingpositions, comprising a controller or a host for performing at least thefollowing operations: obtaining a sensing information including at leastone zero-crossing, wherein each zero-crossing is between a positive anda negative value; and analyzing from the sensing information at leastone position that is different in number to the at least onezero-crossing, wherein the number of the at least one zero-crossing issmaller than the number of the at least one position.
 8. The device ofclaim 7, wherein the number of the at least one zero-crossings is odd.9. The device of claim 7, wherein the at least one position is analyzedbased on zero-crossings at odd-number position.
 10. The device of claim7, wherein the number of the at least one zero-crossings is even. 11.The device of claim 7, wherein the number of the at least onezero-crossing is one, and the number of the at least one position istwo.
 12. The device of claim 7, further comprising: a sensing deviceincluding a plurality of sensors, wherein the sensing information is adifferential sensing information, each value of the differential sensinginformation being generated based on a pair of sensors among theplurality of sensors.
 13. The device of claim 7, wherein each value ofthe sensing information is based on signals of three sensors separately,wherein the three sensors are adjacent or non-adjacent.
 14. A method foranalyzing positions, executed by a microprocessor from a non-transitorycomputer-readable storage medium, comprising: obtaining a sensinginformation including at least one zero-crossing, wherein eachzero-crossing is between a positive and a negative value, the sensinginformation is a dual-differential sensing information, and each valueof the dual-differential sensing information is generated based on threesensors among a plurality of sensors; and analyzing, by themicroprocessor, from the sensing information at least one position thatis different in number to the at least one zero-crossing.
 15. A devicefor analyzing positions, comprising a sensing device including aplurality of sensors, and a controller or a host for performing at leastthe following operations: obtaining a sensing information including atleast one zero-crossing, wherein each zero-crossing is between apositive and a negative value, the sensing information is adual-differential sensing information, and each value of thedual-differential sensing information is generated based on threesensors among a plurality of sensors; and analyzing, by themicroprocessor, from the sensing information at least one position thatis different in number to the at least one zero-crossing.